package com.industrial.operation.service;

import com.industrial.operation.domain.OperationBenefitEvaluation;
import com.industrial.operation.domain.OperationCompanyInfo;
import com.industrial.operation.domain.PreMuJszxHy;

import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface ICompanyHxService {

    /**
     * 查询企业的信息
     * @param companyId
     * @return
     */
    OperationCompanyInfo queryCompanyInfo(String companyId) throws IOException;

    /**
     * 查询税务数据
     * @param companyId
     * @return
     */
    List<OperationBenefitEvaluation> queryShuiWuData(String companyId);

    /**
     * 查询单位用地税收
     * @return
     */
    Map<String, Object> queryDwydShuiShow(String companyId);

    /**
     * 查询单位能耗销售收入
     * @return
     */
    Map<String, Object> queryDwnhXssr(String companyId);

    /**
     * 查询单位污染物排放销售收入
     * @return
     */
    Map<String, Object> queryDwwrwpfXssr(String companyId);

    /**
     * 查询研发经费投入强度
     * @return
     */
    Map<String, Object> queryYfjftrqd(String companyId);

    /**
     * 查询全员劳动生产率
     * @return
     */
    Map<String, Object> queryQyldscl(String companyId);

    /**
     * 查询单位用地销售收
     * @return
     */
    Map<String, Object> queryDwydxssr(String companyId);

    /**
     * 查询生态环境数据
     * @return
     */
    List<Map<String,Object>> querySthjsj(OperationBenefitEvaluation operationBenefitEvaluation);

    /**
     * 查询自然资源和规划数据
     * @return
     */
    List<Map<String, Object>> queryzyzygh(OperationBenefitEvaluation operationBenefitEvaluation);

    /**
     * 查询企业工业总产值
     * @param companyId
     * @return
     */
    Map<String,Object>  queryGyzcz(String companyId);

    /**
     * 查询企业总能耗
     * @param companyId
     * @return
     */
    Map<String, Object> queryZnh(String companyId);

    /**
     * 查询企业用地面积
     * @param companyId
     * @return
     */
    Map<String, Object> queryYdmj(String companyId);

    /**
     * 查询企业污染排放量
     * @param companyId
     * @return
     */
    Map<String, Object> querwrpfl(String companyId);

    /**
     * 查询人力资源和社会保障数据
     * @return
     */
    Map<String, Object> queryRlzyhshbz(String companyId);

    /**
     * 查询水力数据
     * @return
     */
    Map<String, Object> queryShuili(String companyId);

    /**
     * 查询耗煤量
     * @return
     */
    Map<String, Object> queryHml(String companyId);

    /**
     * 查询耗电量
     * @return
     */
    Map<String, Object> queryHdl(String companyId);

    /**
     * 查询耗起量
     * @return
     */
    Map<String, Object> queryHql(String companyId);

    /**
     * 加载该企业存在数据的年份
     * @param companyId
     * @return
     */
    List<String> loadCompanyExistDataYear(String companyId);

    /**
     * 查询研发经费支出
     * @return
     */
    Map<String, Object> queryyfjfzc(String companyId);

    List<OperationCompanyInfo> list(OperationCompanyInfo operationCompanyInfo);

    List<PreMuJszxHy> loadIndustryType();


    /**
     * 查询外层表的年份
     * @return
     */
    List<String> queryQcTableYear();
    /**
     * 查询企业行业的报表
     * @return
     */
    Map<String, Object> queryQyHyCharts(OperationCompanyInfo operationCompanyInfo);

}
